#pragma once
#include "PropertyProvider.h"

#include <uml/Element.h>
using namespace uml;

/// <summary>
/// ProviderElement
/// </summary>
class ProviderElement : public PropertyProvider
{

public:
    ProviderElement();

public:
    void initEditor(
        QtTreePropertyBrowser* editor,
        shared_ptr<BaseElement> entity
    ) override;
    void valueChanged(QtProperty*, bool) override;
    void valueChanged(QtProperty*, double) override;
    void valueChanged(QtProperty*, int) override;
    void valueChanged(QtProperty*, QString) override;

protected:
    shared_ptr<Element> entity_;
};
